package com.ophiux.cs.infrastructure.mapper.user;

import java.util.List;

import com.ophiux.cs.domain.user.model.entity.User;
import com.ophiux.cs.domain.user.model.valueobj.UserValueObj;
import com.ophiux.utils.exception.OphiuxDaoException;
import com.ophiux.utils.exception.OphiuxRepositoryException;

public interface UserMapper {
	
	User findByName(String name);
	
	/**
	 * 根据账号 获取用户信息
	 * @param userAcc
	 * @return
	 */
	List<User> getUserByUserAcc(String userAcc) throws OphiuxDaoException;
	
	/**
	 * 说明：根据账号和角色查询   是否存在记录<br>
	 * <h1>创 建 人: hehailong<br></h1>
	 * 创建日期: 2018年10月22日 下午2:43:54<br>
	 * @param obj
	 * @return
	 * @throws OphiuxDaoException
	 */
	User getUser(UserValueObj obj) throws OphiuxDaoException;
	
	/**
	 * 用户信息入库
	 * @param user com.ophiux.cs.domain.user.model.entity.User
	 * @return
	 * @throws OphiuxDaoException
	 */
	int addUser(User user) throws OphiuxDaoException;
	/**
	 * 根据用户唯一ID获取用户信息
	 * @param USER_ID
	 * @return
	 * @throws OphiuxRepositoryException
	 */
	User getUserByUserId(String USER_ID)  throws OphiuxRepositoryException;
	/**
	 * 修改用户信息 根据用户唯一ID
	 * @param userInfo
	 * @return
	 * @throws OphiuxRepositoryException
	 */
	public boolean upUserByUserId(User userInfo)  throws OphiuxRepositoryException;
}
